﻿using PHMEE.Entities.DaqInfo.TdDevices;
using PHMEE.IRepositories.DaqInfo.TdDevices;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PHMEE
{
    /// <summary>
    /// 
    /// </summary>
    public interface ITdDeviceManager
    {
        /// <summary>
        /// 根据超级表或子表ID获取属性
        /// </summary>
        /// <param name="tableId"></param>
        /// <param name="isSuperTable"></param>
        /// <returns></returns>
        Task<List<TdDeviceAttribute>> GetAttributes(Guid tableId, bool isSuperTable);

        /// <summary>
        /// 根据测点 ID 获取与之关联的子表关系
        /// </summary>
        /// <param name="pointId"></param>
        /// <returns></returns>
       Task<TdDevicePointRelation> GetRelationAsync(Guid pointId);

        /// <summary>
        /// 获取子表实例集合。
        /// </summary>
        /// <param name="pointIds">测点集合</param>
        /// <returns></returns>
        Task<List<TdDevicePointRelation>> GetRelationsAsync(List<Guid> pointIds);

        /// <summary>
        /// 获取TdEngine数据类型集合
        /// </summary>
        /// <returns></returns>
        public Dictionary<int, object> GetTdEngineAttributeDataTypes();

    }
}
